package com.teamin.mapper;

import com.teamin.entity.WxGroupEntity;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface WxGroupMapper {
	/**
	 * 保存微信群
	 * 
	 * @param wxGroupEntity
	 * @return
	 */
	int saveGroup(WxGroupEntity wxGroupEntity);

	/**
	 * 查找一个微信群
	 * 
	 * @param groupId
	 * @return
	 */
	WxGroupEntity selectWxGroupEntity(@Param("groupId") String groupId);

	/**
	 * 更新微信群
	 * 
	 * @param wxGroupEntity
	 * @return
	 */
	int updateWxGroupEntity(WxGroupEntity wxGroupEntity);
	
	/**
	 * 关联群和圈子
	 * @param groupId
	 * @param circleId
	 * @param userId 
	 * @return
	 */
	int addWxGroupEntityToCircle(@Param("groupId")String groupId,@Param("circleId")Long circleId, @Param("userId") Long userId);
	/**
	 * 删除群和圈子关联
	 * @param groupId
	 * @param circleId
	 * @return
	 */
	int removeWxGroupEntityFromCircle(@Param("groupId")String groupId,@Param("circleId")Long circleId);

	/**
	 * 查询微信群列表
	 * 
	 * @param circleId
	 *            圈子id
	 * @return
	 */
	List<WxGroupEntity> selectwxGroupEntitys(@Param("circleId") Long circleId);
	
	/**
	 * 群是否已经保存了
	 * @return
	 */
	Boolean groupSaved(@Param("groupId")String groupId);
	
	/**
	 * 群是否和圈子关联了
	 * @param circleId
	 * @return
	 */
	Boolean groupLined(@Param("groupId")String groupId,@Param("circleId") Long circleId);

	/**
	 * 查询圈子有对应的微信群ID
	 * @param circleId
	 * @return
	 */
	Boolean existGroupCircle(@Param("groupId")String groupId,@Param("circleId") Long circleId);

	/**
	 * 获取圈子中所关联的微信群
	 * @param  circleId 当前的圈子
	 * @return 微信群ID列表
	 */
	public List<WxGroupEntity> getGroupsByCircle(@Param("circleId")Long circleId) ;

	/**
	 * 查询微信群是否跟用户绑定
	 * @param  userId 用户ID
	 * @param  groupId 微信群ID
	 */
	public Boolean selectGroupUser(@Param("userId")Long userId,@Param("groupId")String groupId ) ;

	/**
	 * 微信群绑定用户
	 * @param  userId 用户ID
	 * @param  groupId 微信群ID
	 */
	public int insertGroupUser(@Param("userId")Long userId,@Param("groupId")String groupId) ;

}